The use of touch-sensitive surfaces as input devices for computers and other electronic computing devices has increased significantly in recent years. Exemplary touch-sensitive surfaces include touchpads and touch-screen displays. Such surfaces are widely used to manipulate user interface objects on a display.
Exemplary manipulations include dragging and dropping objects or user interface elements, such as to move information from one application to another, or from one part of an application or data structure to another. Other manipulations include selecting user interface objects by touching them in a predefined manner, launching applications by tapping or otherwise interacting with corresponding application launch icons or other user interface elements, accessing application features by performing swipe, drag, tap, pinch, long press, deep press (e.g., with intensity above a threshold) and other touch inputs on respective user interface elements of an application's user interface.
Disambiguating between various touch-based gestures, such as drag and drop gestures, springloading gestures (e.g., to open an object so as to see elements of the object), and swipe and long press gestures is very important, so that the device or system perform actions corresponding to the user's intent. Such disambiguation can be challenging, given the sometimes subtle differences between touch-based gestures.
While gesture recognizers with distinct event or gesture definitions have been used to help with such disambiguation. Disambiguating between touch-based drag and drop gestures, and spring loading (sometimes written “springloading”) gestures (e.g., to open an object so as to see elements of the object) on the one hand, and swipe and long press gestures on the other hand, continues to be challenging, and sometimes cumbersome and inefficient. Such inefficiency can relate both to the mechanisms for disambiguation, and the delivery of touch input information to various software mechanisms once disambiguation, or at least a portion of the disambiguation, has been achieved. Furthermore, as devices with touch-based input mechanisms offer more and more features, the number of active gesture recognizers for at least some applications or application views has grown to the point of making such mechanisms cumbersome and inefficient in circumstances in which only a portion of those gesture recognizers are needed to handle user inputs.